package com.example.d3_udp2;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * UDP快速入门多发多收（服务端）
 */
public class Server {
    public static void main(String[] args) throws IOException {
        System.out.println("服务端启动...");
        /**
         * 1.创建服务端对象
         */
        DatagramSocket socket = new DatagramSocket(8888);

        /**
         * 2.创建一个数据包对象，用于接收数据
         */
        byte[] bytes = new byte[1024 * 64];
        DatagramPacket packet = new DatagramPacket(bytes, bytes.length);

        while (true) {
            /**
             * 3.开始正式使用数据包来接收客户端发来的数据
             */
            socket.receive(packet);

            /**
             * 4.获取数据包中的数据
             */
            byte[] data = packet.getData();
            int length = packet.getLength();
            String s = new String(data, 0, length);
            System.out.println("服务端接收到数据：" + s);
            System.out.println("服务端接收到的数据来自IP：" + packet.getAddress().getHostAddress());
            System.out.println("服务端接收到的数据来自Port" + packet.getPort());
            System.out.println("===========================================");
        }
    }
}
